// 引入适配工具类
const adapter = require('../../utils/adapter.js');

Page({
  data: {
    userInfo: {},
    isLoggedIn: false,
    // 适配相关数据
    adaptation: {
      scale: adapter.scale,
      scaleH: adapter.scaleH,
      systemInfo: adapter.systemInfo
    }
  },

  onShow(){
    console.log("profile onShow======");
     const app = getApp();
    console.log("profile onLoad======",app.globalData.userInfo);
    if (app.globalData.userInfo) {
      this.setData({
        isLoggedIn: true,
        userInfo: app.globalData.userInfo
      });
      // 已登录时进行适配
      this.adaptPage();
    }else{
       this.setData({
        isLoggedIn: false
      });
      this.adaptPage();
    }
  },
  onReady(){
    console.log("profile onReady======");
  },
  onLoad() {
    // 检查登录状态
    // getWechatToken();
    console.log("profile onLoad======");
   
  },
  
  // goToLogin(){
  //   wx.navigateTo({
  //     url: '/pages/login/login'
  //   });
  // },
  // 获取微信token
  getWechatToken() {
    const app = getApp();
    
    // 显示加载提示
    wx.showLoading({
      title: '获取微信Token...',
    });
    
    // 调用微信登录API获取code
    wx.login({
      success: (res) => {
        if (res.code) {
          console.log('微信登录成功，获取code:', res.code);
          
          // 这里应该将code发送到后端服务器换取token
          // 由于是模拟环境，这里使用模拟数据
          this.mockGetTokenFromServer(res.code).then(token => {
            // 存储token
            wx.setStorageSync('token', token);
            app.globalData.hasLogin = true;
            app.globalData.token = token;
            
            // 获取用户信息
            app.getUserInfo();
            
            // 更新页面数据
            this.setData({
              isLoggedIn: true,
              userInfo: app.globalData.userInfo
            });
            
            wx.hideLoading();
            wx.showToast({
              title: '获取Token成功',
              icon: 'success'
            });
            console.log('Token获取成功:', token);
          }).catch(error => {
            wx.hideLoading();
            wx.showToast({
              title: '获取Token失败',
              icon: 'none'
            });
            console.error('Token获取失败:', error);
          });
        } else {
          wx.hideLoading();
          wx.showToast({
            title: '登录失败，请重试',
            icon: 'none'
          });
          console.error('登录失败:', res.errMsg);
        }
      },
      fail: (err) => {
        wx.hideLoading();
        wx.showToast({
          title: '登录请求失败',
          icon: 'none'
        });
        console.error('登录请求失败:', err);
      }
    });
  },
  
  // 模拟从服务器获取token
  mockGetTokenFromServer(code) {
    return new Promise((resolve) => {
      // 模拟网络延迟
      setTimeout(() => {
        // 模拟生成一个token（实际应用中应该由服务器生成）
        // 使用code参数，避免未使用变量警告
        const token = 'wechat-token-' + code + '-' + Date.now() + '-' + Math.random().toString(36).substr(2);
        
        // 模拟成功响应
        resolve(token);
      }, 1000);
    });
  },

  // 页面适配方法
  adaptPage() {
    console.log('设备信息:', this.data.adaptation.systemInfo);
    console.log('适配比例:', this.data.adaptation.scale);
    console.log('高度适配比例:', this.data.adaptation.scaleH);
    
    // 根据屏幕尺寸调整样式
    this.adjustStyles();
  },

  // 调整样式以适配不同屏幕
  adjustStyles() {
    // 可以根据需要动态调整样式
    const systemInfo = this.data.adaptation.systemInfo;
    
    // 例如，对于小屏幕设备调整字体大小
    if (systemInfo.windowWidth < 350) {
      // 在小屏幕上使用较小的字体
      console.log('小屏幕设备，调整字体大小');
    }
  },

  goToLogin() {
    // 跳转到登录页面
    wx.navigateTo({
      url: '/pages/login/login'
    });
    // wx.switchTabo({
    //   url: '/pages/login/login'
    // });
  },
  
  goToSettingsPwd() {
    // 跳转到账号设置页面
    wx.navigateTo({
      url: '/pages/settingspwd/settingspwd'
    });
  },
  goToSettings() {
    // 跳转到账号设置页面
    wx.navigateTo({
      url: '/pages/settings/settings'
    });
  },

  logout() {
    var that = this;
    wx.showModal({
      title: '提示',
      content: '确定要退出登录吗？',
      success: (res) => {
        if (res.confirm) {
          // 调用全局退出登录方法
          const app = getApp();
          app.logout();
          that.setData({
            isLoggedIn: false,
          });
          that.adaptPage();
          // 跳转到登录页面
          // wx.redirectTo({
          //   url: '/pages/login/login'
          // });
         
        }
      }
    });
  }
});